# f = open('info.txt',mode='r',encoding='utf-8')
# # data = f.read() # 读所有
# data = f.read(1) # 读一个字符
# print(data)
# f.close()


'''
# f = open('info.txt',mode='rb')
# # data = f.read() # 读所有
# # 一个字符3个字节，所以读的是一个汉字的三分之一
# data = f.read(1) # 读一个字节
# print(data)
# f.close()
# 可用于网络传输的断点续传
for chunk in range(1,10):
    pass
chunk1 = f.read(1)
chunk2 = f.read(2)
'''


'''
f = open('info.txt',mode='r',encoding='utf-8')
# f = open('info.txt',mode='rb')
data = f.readline() # 读一行(还有末尾的换行符会一起读进来)
print(data)
data1 = f.readline()
print(data1)
f.close()
'''

'''
f = open('info.txt',mode='r',encoding='utf-8')
# while True:
#     line = f.readline()
#     print(line)   # 如果有空行的话就不知道什么时候会停止
for line in f:
    print(line)
    print(line.strip())
'''


'''
f = open('info2.txt','a',encoding='utf-8')
f.write('alxe')
f.close()

f = open('info2.txt','ab')  # 二进制（也就是字节类型打开文件）
f.write('alxe'.encode('utf-8')) # 所以字符串要转成字节类型写入文件
f.close()
'''

'''
f = open('info2.txt','a',encoding='utf-8')
while True:
    # 不是写到硬盘，而是写到缓冲区，系统将缓冲区刷到硬盘
    f.write('吴佩琪')
    f.flush()
f.close()
'''

'''
# 追加模式实现多用户注册案例
file_obj = open('account.txt',mode='a+')
while True:
    user = input('用户名：')
    if user.upper() =='Q':
        break
    pwd = input('密码：')
    data = "{}-{}\n".format(user,pwd)
    file_obj.write(data)
    file_obj.flush()
file_obj.close()
'''

'''
f = open('info2.txt','r+',encoding='utf-8')
# 移动到光标位置，在此光标之后开始写内容(如有原内容，则会覆盖掉)
# 移动到指定   字节    位置
f.seek(3)       # 第三个字节为主开始
f.write('吴佩琪')
f.close()
'''


# 可能会有乱码出现
f = open('files/info2.txt', 'a+', encoding='utf-8')
# 移动到光标位置，在此光标之后开始写内容(如有原内容，则会覆盖掉)
# 移动到指定   字节    位置
f.seek(3)       #   所以调整光标位置没用
f.write('吴佩琪')  # a模式下，永远都是从文件末尾开始写
# 获取当前光标位置
tl = f.tell()
print(tl)
f.close()